/**
 * 代号:隐无为 2017：厚溥
 * 文件名：HouseAction.java
 * 创建人：柯栋
 * 日期：2017年10月25日
 * 修改人：
 * 描述：
 */
package org.setone.action;

import java.util.Date;
import java.util.UUID;

import org.apache.struts2.ServletActionContext;
import org.setone.common.BaseAction;
import org.setone.model.House;
import org.setone.service.CityService;
import org.setone.service.HouseService;
import org.setone.service.ImgArrService;
import org.setone.service.StreetService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.opensymphony.xwork2.ModelDriven;

/**
 * 用途：业务模块名称
 */
@Controller
@Scope("prototype")
public class HouseAction extends BaseAction implements ModelDriven<House>{
    House house=null;
    
    Integer pageNum=1;
    Integer pageSize=8;
    
    
	@Autowired
	HouseService houseService;
	@Autowired
	ImgArrService imgArrService;
	@Autowired
	StreetService streetService;
	@Autowired
	CityService cityService;
	/**
	 *  @功能:管理后台
	 *  @作者:柯栋 @代号:隐无为
	 *  @时间:2017年10月27日
	 *  @return  
	 */
	public String adminList(){
		ServletActionContext.getRequest().setAttribute("page", houseService.queryPageList(pageNum, pageSize,house));
		return "adminList";
	}
	
	
	
	/**
	 *  @功能:列表
	 *  @作者:柯栋 @代号:隐无为
	 *  @时间:2017年10月27日
	 *  @return  
	 */
	public String list(){
		ServletActionContext.getRequest().setAttribute("cityList", cityService.queryAll());
		ServletActionContext.getRequest().setAttribute("page", houseService.queryPageList(pageNum, pageSize, house));
		return "list";
	}
	
	
	/**
	 *  @功能:添加或修改页面
	 *  @作者:柯栋 @代号:隐无为
	 *  @时间:2017年10月27日
	 *  @return  
	 */
	public String saveOrUpdatePage(){
			ServletActionContext.getRequest().setAttribute("cityList", cityService.queryAll());
			ServletActionContext.getRequest().setAttribute("streetList", streetService.queryAll());
		if(house.getDate()!=null){
			ServletActionContext.getRequest().setAttribute("house", houseService.queryById(house.getId()));
		}else {
			//获取一个uuid
			ServletActionContext.getRequest().setAttribute("uuid", UUID.randomUUID().toString());
		}
		return "saveOrUpdatePage";
	}
	
	/**
	 *  @功能:
	 *  @作者:jh @代号:绰绰有余
	 *  @时间:2017年11月22日
	 *  @return  
	 */
	public String detail(){
		    ServletActionContext.getRequest().setAttribute("viewList",imgArrService.queryByHouseId(house.getId()));
			ServletActionContext.getRequest().setAttribute("house", houseService.queryById(house.getId()));
		return "detail";
	}

	
	/**
	 *  @功能:保存或更新操作
	 *  @作者:柯栋 @代号:隐无为
	 *  @时间:2017年10月27日
	 *  @return  
	 */
	public String saveOrUpdateOpt(){
		if(house.getDate()!=null){
			 houseService.update(house);
		}else{
			house.setDate(new Date());//设置时间
			houseService.save(house);
		}
		return "toList";
	}

	
	/**
	 *  @功能:刪除
	 *  @作者:柯栋 @代号:隐无为
	 *  @时间:2017年10月27日
	 *  @return  
	 */
	public String delete(){
		houseService.delete(house.getId());
		return "toList";
	}
	@Override
	public House getModel() {
		house=new House();
		return house;
	}



	public Integer getPageNum() {
		return pageNum;
	}



	public void setPageNum(Integer pageNum) {
		this.pageNum = pageNum;
	}



	public Integer getPageSize() {
		return pageSize;
	}



	public void setPageSize(Integer pageSize) {
		this.pageSize = pageSize;
	}
	
	
	
}
